SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO





CREATE PROC [dbo].[SP_TXMVTO_CNTB_I05]
/*-------------------------------------------------------------------*/            
/*----- Empresa           : OFISIS S.A.                          ----*/            
/*----- Cliente           : OFISIS S.A.                          ----*/            
/*----- Sistema           : Contabilidad                         ----*/            
/*----- Modulo            : Empresa                              ----*/            
/*----- Programa          : Ajuste Diferencia de cambio Cuentas  ----*/            
/*----- Nombre            : SP_TXMVTO_CNTB_I05                   ----*/            
/*----- Script            : TXMVTO_CNTB                          ----*/            
/*----- Desarrollado por  : Franco Gamboni Koifman               ----*/            
/*----- Fecha             : 23/06/1997                           ----*/            
/*----- Base de Datos     : MS SQL Server                        ----*/            
/*----- Version BD        : 8.0                                  ----*/            
/*-------------------------------------------------------------------*/            
/*-------------------------------------------------------------------*/            
/*----- modificado 1      : LMGP                 	         ----*/          
/*----- fecha modif.      : 13/09/2005                           ----*/          
/*----- detalle modif     : Graba estatus de proceso masivo      ----*/            
/*-------------------------------------------------------------------*/          
/*-------------------------------------------------------------------*/          
/*----- modificado 2      : Percy Garc?a                         ----*/        
/*----- fecha modif.      : 03/05/2007                           ----*/        
/*----- detalle modif     : se valido que calcule el tipo de cambio correcto caso cont euros y moneda por ajustar dolares----*/          
/*-------------------------------------------------------------------*/       
/*------------------------------------------------------*/  
/*---Modificado 3 por     : PERCY GARCIA	  ----*/
/*---Fecha Modificaci?n   : 09/05/2007      ----*/
/*---Detalle Modificaci?n : MODIFICAION PARA EL CASO DE AJUSTE EN CONTABILIDAD != 1----*/
/*------------------------------------------------------*/  
/*------------------------------------------------------*/  
/*---Modificado 3 por     : PERCY GARCIA	  ----*/
/*---Fecha Modificaci?n   : 26/06/2009      ----*/
/*---Detalle Modificaci?n : OPTIMIZACION PASO A TEMPORALES----*/
/*------------------------------------------------------*/  
/*-------------------------------------------------------------------*/            
/*----- Drop proc SP_TXMVTO_CNTB_I05                             ----*/            
/*----- Grant all on SP_TXMVTO_CNTB_I05 to PUBLIC                ----*/            
/*----- SP_TXMVTO_CNTB_I05  '01',1,'001','011','042','0000000001','0000000001','01213','VEN','SOL',31,5,2004 ----*/            
/*-------------------------------------------------------------------*/            
          
     -- with encryption
As            
 Begin Transaction SP_TXMVTO_CNTB_I05            
 Declare  
@ISCO_EMPR  	TD_VC_002,            
@ISCO_USUA      TD_VC_008,      
@IDFE_USUA      TD_DT_001,      
@INNU_CNTB_EMPR TD_IN_001_CONT,            
@ISCO_UNID_CNTB TD_VC_003,            
@ISCO_OPRC_CNTB TD_VC_003,            
@ISCO_OPRC_PEND TD_VC_003,            
@ISNU_ASTO  	TD_VC_010,            
@ISNU_ASTO_PEND TD_VC_010,            
@ISCO_CNTA_EMPR TD_VC_020,            
@ISST_CNTA_NATU TD_VC_003,            
@ISCO_MONE  	TD_VC_003,            
@INNU_DIAS  	TD_IN_001,            
@INNU_MESE  	TD_IN_002_MESE,            
@INNU_ANNO  	TD_IN_004_ANNO,  
           
 @VDFE_VOUC   TD_DT_001,            
 @VDFE_CAMB   TD_DT_001,            
 @VNIM_ORIG_SALD TD_NU_016_004,            
 @VNIM_SOLE_SALD TD_NU_016_004,            
 @VNIM_ORIG_MVTO TD_NU_016_004,           
 @VNIM_SOLE_MVTO TD_NU_016_004,            
 @VNTO_SALD_ORIG TD_NU_016_004,            
 @VNTO_SALD_SOLE TD_NU_016_004,            
 @VNTO_AJUS  TD_NU_016_004,            
 @VSCO_CNTA_GANA TD_VC_020,    
 @VSCO_CNTA_PERD TD_VC_020,            
 @VNNU_SECU  TD_IN_002,             
 @VNNU_SECU_PEND TD_IN_002,                    
 @VSID_GANA_CAMB        TD_VC_003,            
 @VSID_PERD_CAMB        TD_VC_003,            
 @VSCO_MONE_CNTB TD_VC_003,            
 @VNFA_CMPR_REFE        TD_NU_015_006,            
 @VNFA_VNTA_REFE        TD_NU_015_006,            
 @VNFA_CMPR_CNTA        TD_NU_015_006,            
 @VNFA_VNTA_CNTA        TD_NU_015_006,            
 @VNFA_CMPR_CNTB        TD_NU_015_006,            
 @VNFA_VNTA_CNTB        TD_NU_015_006,            
 @VNFA_CAMB_DIAR        TD_NU_015_006,             
 @VDFE_ASTO_CNTB        TD_DT_001,            
 @VSST_CNTA             TD_VC_001,            
 @VSCO_MONE_CNTA    TD_VC_003,            
 @VNNU_REGI  INT,            
 @VSCO_GANA_DIFE TD_VC_020,            
 @VSCO_PERD_DIFE TD_VC_020,            
            
 @VSST_AUXI_EMPR        TD_VC_001,            
 @VSTI_AUXI_DCGA        TD_VC_001,            
 @VSCO_AUXI_DCGA        TD_VC_020,            
 @VSTI_AUXI_DCPE        TD_VC_001,            
 @VSCO_AUXI_DCPE        TD_VC_020,            
            
---- Multimoneda            
 @VNFA_CAMB  TD_NU_015_006,            
 @VNIM_MVTO_ORI2        TD_NU_016_004,            
           
---- Cursor CU_TXMVTO_CNTB_I05_1            
 @CSCO_EMPR_0002        TD_VC_002,            
 @CNNU_CNTB_EMP2        TD_IN_001_CONT,            
 @VDFE_ASTO_CNT2        TD_DT_001,            
 @CSTI_CAMB_0002        TD_VC_003,            
 @CSCO_MONE_0002        TD_VC_003,            
 @CNFA_CAMB_0002        TD_NU_015_006,            
 @CSTI_OPER_0002        TD_VC_003,            
 @CNIM_MVTO_ORI2        TD_NU_016_004,            
 @CNIM_MVTO_CNT2        TD_NU_016_004,            
 @VNFA_CAMB_0001        TD_NU_015_006,            
 @VNTO_SAOR_0001 TD_NU_016_004,
 @VSST_ORDE_SERV        TD_VC_001,
 @VSCO_ORDE_DCGA        TD_VC_020, @VSCO_ORDE_DCPE        TD_VC_020,              
 @VNNU_MESE_EVAL  Int            


Create Table #TXMVTO_CNTB_EPAE_0002
(
CO_EMPR Varchar(2) NULL, 
NU_CNTB_EMPR Int NULL, 
CO_UNID_CNTB Varchar(3) NULL, 
CO_OPRC_CNTB Varchar(3) NULL, 
NU_ANNO Int NULL,              
NU_MESE Int NULL, 
NU_ASTO Varchar(10) NULL, 
NU_SECU Numeric(18) NULL, 
FE_ASTO_CNTB DateTime NULL, 
CO_CNTA_EMPR Varchar(20) NULL, 
TI_AUXI_EMPR Varchar(1) NULL, 
CO_AUXI_EMPR Varchar(20) NULL,              
TI_DOCU Varchar(3) NULL, 
NU_DOCU Varchar(20) NULL, 
FE_DOCU DateTime NULL, 
TI_CAMB Varchar(3) NULL, 
CO_MONE Varchar(3) NULL, 
FA_CAMB Numeric(15,6) NULL, 
TI_OPER Varchar(3) NULL, 
IM_MVTO_ORIG Numeric(16,4) NULL,          
IM_MVTO_CNTB Numeric(16,4) NULL, 
DE_GLOS Varchar(100) NULL, 
SI_MVTO_CNTB Varchar(3) NULL, 
NO_GIRA Varchar(100) NULL, 
ST_GEST Varchar(1) NULL, 
ST_REDO Varchar(1) NULL, 
FA_CAMB_DIAR Numeric(15,6) NULL, 
ST_DIFE_CAMB Varchar(1) NULL, 
FE_DOCU_VENC DateTime NULL, 
CO_USUA_MODI Varchar(8) NULL, 
FE_USUA_MODI DateTime NULL, 
CO_USUA_CREA Varchar(8) NULL, 
FE_USUA_CREA DateTime NULL, 
ST_MASI Varchar(1) NULL,
CO_ORDE_SERV Varchar(20) NULL
)

Select Top 1 
@ISCO_EMPR = CO_EMPR,              
@ISCO_USUA = CO_USUA,    
@IDFE_USUA = FE_USUA,    
@INNU_CNTB_EMPR = NU_CNTB_EMPR,              
@ISCO_UNID_CNTB = CO_UNID_CNTB,              
@ISCO_OPRC_CNTB = CO_OPRC_CNTB,              
@ISCO_OPRC_PEND = CO_OPRC_PEND,              
@ISNU_ASTO  = NU_ASTO,              
@ISNU_ASTO_PEND = NU_ASTO_PEND,            
@ISCO_CNTA_EMPR = CO_CNTA_EMPR,              
@ISST_CNTA_NATU = ST_CNTA_NATU,              
@ISCO_MONE  = CO_MONE,              
@INNU_DIAS  = NU_DIAS,              
@INNU_MESE  = NU_MESE,              
@INNU_ANNO = NU_ANNO 
From #TWPARA_EPAE

            
/* Selecciona las cuenta de Ganacia y Perdida */            
  Select @VSTI_AUXI_DCGA = Null            
  Select @VSCO_AUXI_DCGA = Null             
  Select @VSTI_AUXI_DCPE = Null            
  Select @VSCO_AUXI_DCPE = Null             
  Select @VSCO_MONE_CNTB = CO_MONE,            
         @VSID_GANA_CAMB = ID_GANA_CAMB,            
         @VSID_PERD_CAMB = ID_PERD_CAMB             
  From TTCNTB_EMPR            
  Where CO_EMPR = @ISCO_EMPR         
  and   NU_CNTB_EMPR = @INNU_CNTB_EMPR            

Select @VSCO_ORDE_DCPE = NULL
Select @VSCO_ORDE_DCGA = NULL
            
  Select @VSST_AUXI_EMPR = 'N'        
 Select @VSST_ORDE_SERV = 'N'                              
  Select @VSCO_CNTA_GANA = t1.CO_CNTA_EMPR,            
         @VSST_AUXI_EMPR = t2.ST_AUXI_EMPR,
        @VSST_ORDE_SERV = t2.ST_ORDE_SERV            
  From TTIDEN_CNTA t1, TMPLAN_ANNO t2            
  Where  t1.CO_EMPR = @ISCO_EMPR             
  And     t1.NU_CNTB_EMPR = @INNU_CNTB_EMPR             
  And     t1.ID_CNTA = @VSID_GANA_CAMB            
  And     t2.CO_EMPR = t1.CO_EMPR            
  And     t2.CO_CNTA_EMPR = t1.CO_CNTA_EMPR            
            
If @VSST_AUXI_EMPR = 'S'            
Begin            
  Select @VSTI_AUXI_DCGA = NullIf(Rtrim(TI_AUXI_DCGA),'') ,            
         @VSCO_AUXI_DCGA = NullIf(Rtrim(CO_AUXI_DCGA), '')            
  From   TMPARA_CONT            
  Where  CO_EMPR = @ISCO_EMPR             
End            

If @VSST_ORDE_SERV = 'S'                              
   Begin                              
     Select @VSCO_ORDE_DCGA = NullIf(Rtrim(CO_ORDE_DCGA), '')             
     From   TMPARA_CONT                              
     Where  CO_EMPR = @ISCO_EMPR                               
   End                              

            
Select @VSST_AUXI_EMPR = 'N'            
Select @VSST_ORDE_SERV = 'N'         
Select @VSCO_CNTA_PERD = t1.CO_CNTA_EMPR,            
    @VSST_AUXI_EMPR = t2.ST_AUXI_EMPR,
        @VSST_ORDE_SERV = t2.ST_ORDE_SERV            
From   TTIDEN_CNTA t1, TMPLAN_ANNO t2            
Where  t1.CO_EMPR = @ISCO_EMPR             
And    t1.NU_CNTB_EMPR = @INNU_CNTB_EMPR             
And    t1.ID_CNTA = @VSID_PERD_CAMB            
And    t2.CO_EMPR = t1.CO_EMPR            
And    t2.CO_CNTA_EMPR = t1.CO_CNTA_EMPR            
            
If @VSST_AUXI_EMPR = 'S'            
Begin            
  Select @VSTI_AUXI_DCPE = NullIf(Rtrim(TI_AUXI_DCPE),''),            
         @VSCO_AUXI_DCPE = NullIf(Rtrim(CO_AUXI_DCPE),'')            
  From   TMPARA_CONT            
  Where  CO_EMPR = @ISCO_EMPR             
End            

 If @VSST_ORDE_SERV = 'S'                              
   Begin                              
     Select @VSCO_ORDE_DCPE = NullIf(Rtrim(CO_ORDE_DCPE), '')             
     From   TMPARA_CONT                              
     Where  CO_EMPR = @ISCO_EMPR                               
   End                                
      
-- Si hay amarre con Cuentas de Dif De cambio en la TMPLAN_EMPR. Toma esas cuentas------------            
Select @VSCO_GANA_DIFE = Ltrim(Rtrim(IsNull(CO_GANA_DIFE,''))),            
       @VSCO_PERD_DIFE = Ltrim(Rtrim(IsNull(CO_PERD_DIFE,'')))            
From  TMPLAN_EMPR            
Where CO_EMPR = @ISCO_EMPR            
And   CO_CNTA_EMPR = @ISCO_CNTA_EMPR            
            
If @VSCO_GANA_DIFE <> '' And @VSCO_PERD_DIFE <> ''            
Begin            
  Select @VSCO_CNTA_GANA = @VSCO_GANA_DIFE            
  Select @VSCO_CNTA_PERD = @VSCO_PERD_DIFE            
End            
---------------------------------------------------------            
            
/* Construye la fecha de inicio para calcular la informacion de movimientos */            
Select @VSCO_MONE_CNTA = CO_MONE            
from TMPLAN_EMPR            
where CO_EMPR = @ISCO_EMPR            
and CO_CNTA_EMPR = @ISCO_CNTA_EMPR            
And NU_ANNO = 9999            
   
Select @VDFE_VOUC  =  CONVERT(DATETIME, CONVERT(Char(02),@INNU_DIAS) + '/' + CONVERT(Char(02),@INNU_MESE) + '/' + CONVERT(CHAR(4),@INNU_ANNO) , 103)            
            
/*----------- Para obtener el factor de la moneda de la cuenta -------*/            
SELECT @VNFA_CMPR_CNTA = FA_CAMB_CMPR,            
       @VNFA_VNTA_CNTA = FA_CAMB_VNTA,@VNNU_MESE_EVAL = NU_MESE                         
FROM TCFACT_CIER            
WHERE CO_MONE = @VSCO_MONE_CNTA            
AND NU_ANNO = @INNU_ANNO            
AND NU_MESE = @INNU_MESE            
            
/*------------- Para obtener el factor de la moneda de la contabilidad ----------*/            
SELECT @VNFA_CMPR_CNTB = FA_CAMB_CMPR,            
       @VNFA_VNTA_CNTB = FA_CAMB_VNTA            
FROM TCFACT_CIER            
WHERE CO_MONE = @VSCO_MONE_CNTB            
AND NU_ANNO = @INNU_ANNO            
AND NU_MESE = @INNU_MESE            
            
if @VNFA_CMPR_CNTA is NULL            
  Select @VNFA_CMPR_CNTA = 1.00            
            
if @VNFA_VNTA_CNTA is NULL            
  Select @VNFA_VNTA_CNTA = 1.00            
            
if @VNFA_CMPR_CNTB is NULL            
  Select @VNFA_CMPR_CNTB = 1.00            
            
if @VNFA_VNTA_CNTB is NULL            
  Select @VNFA_VNTA_CNTB = 1.00            
/*            
Select @VNFA_CMPR_REFE = @VNFA_CMPR_CNTA * @VNFA_CMPR_CNTB            
Select @VNFA_VNTA_REFE = @VNFA_VNTA_CNTA * @VNFA_VNTA_CNTB            
*/
If @VNNU_MESE_EVAL IS NOT NULL
 Begin           
 Select @VNFA_CMPR_REFE = @VNFA_CMPR_CNTA --* @VNFA_CMPR_CNTB          
 Select @VNFA_VNTA_REFE = @VNFA_VNTA_CNTA--- * @VNFA_VNTA_CNTB          
 End 
Else 
 Begin           
 Select @VNFA_CMPR_REFE = @VNFA_CMPR_CNTB          
 Select @VNFA_VNTA_REFE = @VNFA_VNTA_CNTB          
 End 
            
/*---------------------------------------------------------------------------------------------------------------*/            
If @VNFA_CMPR_REFE IS NULL            
  Select @VNFA_CMPR_REFE = 1.00            
            
If @VNFA_VNTA_REFE IS NULL            
  Select @VNFA_VNTA_REFE = 1.00            
            
/* Seccion para cuentas que NO tengan Auxiliar */             
Select @VNNU_SECU = 1            
Select @VNNU_SECU_PEND = 1            
Select @VNIM_ORIG_SALD = 0            
Select @VNIM_SOLE_SALD = 0            
Select @VNIM_ORIG_MVTO = 0            
Select @VNIM_SOLE_MVTO = 0            
Select @VNTO_SALD_ORIG = 0            
Select @VNTO_SALD_SOLE = 0            
Select @VNTO_AJUS = 0            
            
/*Comentario : Informacion de Saldo*/            
 Select  @VNIM_ORIG_SALD= 0            
 Select  @VNIM_SOLE_SALD= 0            
            
 Select @VNIM_ORIG_SALD = Isnull(Sum(ROUND(Isnull(IM_CARG_ORIG, 0),2)), 0) - Isnull(Sum(ROUND(Isnull(IM_ABON_ORIG, 0),2)), 0),         
        @VNIM_SOLE_SALD = Isnull(Sum(ROUND(Isnull(IM_CARG_CNTB, 0),2)), 0) - Isnull(Sum(ROUND(Isnull(IM_ABON_CNTB, 0),2)), 0)        
 From   TASALD_EMPR             
 Where  CO_EMPR = @ISCO_EMPR             
   And  NU_CNTB_EMPR = @INNU_CNTB_EMPR            
   And  NU_ANNO  = @INNU_ANNO             
   And  NU_MESE  < @INNU_MESE             
   And  CO_CNTA_EMPR = @ISCO_CNTA_EMPR             
   And  TI_AUXI_EMPR IS NULL            
   And  CO_AUXI_EMPR IS NULL            
   And  CO_ORDE_SERV IS NULL            
            
 /*Comentario : Informacion de Movimientos*/            
 Select @VNIM_ORIG_MVTO = 0            
 Select @VNIM_SOLE_MVTO = 0            
            
---- #TWMVTO_CNT1 guarda data para la conversi>n de importe en moneda contabilidad            
Create table #TWMVTO_CNT1  
 (CO_EMPR       varchar(2),            
  NU_CNTB_EMPR  integer,            
  FE_ASTO_CNTB  datetime,            
  TI_CAMB       varchar(3),          
  CO_MONE       varchar(3),            
  FA_CAMB       numeric(15,6),            
  TI_OPER       varchar(3),            
  IM_MVTO_ORIG  numeric(16,4),            
  IM_MVTO_CNTB  numeric(16,4) )            
            
---- #TWMVTO_CNT2 guarda data para cursor CU_TXMVTO_CNTB_I10_1            
/*
Create table #TWMVTO_CNT2            
 (TI_OPER_0002  varchar(3),            
  IM_MVTO_ORI2  numeric(16,4),            
  IM_MVTO_CNT2  numeric(16,4))            
*/
            
---- Borra data de tablas temporales            
--Delete from #TWMVTO_CNT1            
--Delete from #TWMVTO_CNT2            
            
 Select @VDFE_CAMB  = CONVERT(DATETIME, CONVERT(Char(02),@INNU_DIAS) + '/' + CONVERT(Char(02),@INNU_MESE) + '/' + CONVERT(CHAR(4),@INNU_ANNO) , 103)            
            
---- Insert Select con las condiciones del Select de ASCII(TI_OPER)            
 Insert into #TWMVTO_CNT1 (CO_EMPR, NU_CNTB_EMPR, FE_ASTO_CNTB, TI_CAMB,            
 CO_MONE, FA_CAMB, TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB)          
 Select CO_EMPR, NU_CNTB_EMPR, FE_ASTO_CNTB, TI_CAMB, CO_MONE, FA_CAMB,   
     TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB            
 From  TXMVTO_CNTB   
 Where CO_EMPR = @ISCO_EMPR            
 and NU_CNTB_EMPR = @INNU_CNTB_EMPR            
 and NU_ANNO  = @INNU_ANNO            
 and NU_MESE  = @INNU_MESE            
 and CO_CNTA_EMPR = @ISCO_CNTA_EMPR            
 and SI_MVTO_CNTB = 'APR'            
            
---- Cursor para convertir importe original en importe moneda contabilidad            
/*
 Declare CU_TXMVTO_CNTB_I05_1 Cursor            
 For            
   Select CO_EMPR, NU_CNTB_EMPR, FE_ASTO_CNTB, TI_CAMB, CO_MONE,            
          FA_CAMB, TI_OPER, Isnull(IM_MVTO_ORIG, 0.00), Isnull(IM_MVTO_CNTB, 0.00)            
    From  #TWMVTO_CNT1            
            
 Open CU_TXMVTO_CNTB_I05_1            
 Fetch CU_TXMVTO_CNTB_I05_1 Into @CSCO_EMPR_0002, @CNNU_CNTB_EMP2, @VDFE_ASTO_CNT2,            
 @CSTI_CAMB_0002, @CSCO_MONE_0002, @CNFA_CAMB_0002, @CSTI_OPER_0002, @CNIM_MVTO_ORI2,            
 @CNIM_MVTO_CNT2            
            
 While @@Fetch_status = 0 
  Begin            
     Select @VNIM_MVTO_ORI2 = @CNIM_MVTO_CNT2            
            
    Insert into #TWMVTO_CNT2 VALUES( @CSTI_OPER_0002, @CNIM_MVTO_ORI2, @VNIM_MVTO_ORI2 )            
            
    Fetch CU_TXMVTO_CNTB_I05_1 Into @CSCO_EMPR_0002, @CNNU_CNTB_EMP2, @VDFE_ASTO_CNT2,            
      @CSTI_CAMB_0002, @CSCO_MONE_0002, @CNFA_CAMB_0002, @CSTI_OPER_0002, @CNIM_MVTO_ORI2,            
      @CNIM_MVTO_CNT2            
  End       
            
 Close CU_TXMVTO_CNTB_I05_1            
 Deallocate CU_TXMVTO_CNTB_I05_1            
*/
            
---- Proceso normal, solo se cambio la tabla del select del cursor,            
---- tiene las mismas columnas pero con el importe de la moneda de la contabilidad            
 Select @VNIM_ORIG_MVTO = Isnull(SUM( ( ROUND(((ASCII(TI_OPER)/67)* Isnull(IM_MVTO_ORIG, 0)),2)  -            
                          ROUND(( (65/ASCII(TI_OPER))* Isnull(IM_MVTO_ORIG, 0) ),2) ) ), 0),            
        @VNIM_SOLE_MVTO = Isnull(SUM( ( ROUND(((ASCII(TI_OPER)/67)* Isnull(IM_MVTO_CNTB, 0) ),2)  -            
                          ROUND(( (65/ASCII(TI_OPER))* Isnull(IM_MVTO_CNTB, 0) ),2))), 0)            
 From  #TWMVTO_CNT1            
            
 Select @VNTO_SALD_ORIG = ROUND(@VNIM_ORIG_SALD,2) + ROUND(@VNIM_ORIG_MVTO,2)            
 Select @VNTO_SALD_SOLE = ROUND(@VNIM_SOLE_SALD,2) + ROUND(@VNIM_SOLE_MVTO,2)            
            
 Select @VNTO_SAOR_0001 = 0            
 Select @VNFA_CAMB_0001 = 1            
            
 /*Seccion de eleccion del tipo de cambio para el caso de bancos se cambia por */            
 /*respecto del saldo de la cuenta */            
            
 Select @VNNU_REGI = 0            
            
 Select @VNNU_REGI = COUNT(*)             
 from ttiden_cnta            
 where id_cnta = '021'             
 and co_empr = @ISCO_EMPR            
 and NU_CNTB_EMPR = @INNU_CNTB_EMPR            
 and co_cnta_empr = @ISCO_CNTA_EMPR            
            
 IF @VNNU_REGI = 1             
  Begin            
/*   IF ROUND(@VNTO_SALD_ORIG,2) - ROUND(@VNTO_SALD_SOLE,2) >=  0             
     Select @VNFA_CAMB_0001 =  @VNFA_VNTA_REFE            
   Else            
     Select @VNFA_CAMB_0001 =  @VNFA_CMPR_REFE            */

   IF ROUND(@VNTO_SALD_ORIG,2) >=  0         --ROUND(@VNTO_SALD_SOLE,2) >=  0         
     Begin 
     Select @VNFA_CAMB_0001 =  @VNFA_CMPR_REFE        
     Select @ISST_CNTA_NATU = 'COM'
     End 
   Else  
     Begin       
     Select @VNFA_CAMB_0001 =  @VNFA_VNTA_REFE        
     Select @ISST_CNTA_NATU = 'VEN'
     End 
  End            
 Else IF @VNNU_REGI = 0            
  Begin            
   If @ISST_CNTA_NATU = 'COM'             
    Select @VNFA_CAMB_0001 =  @VNFA_CMPR_REFE            
   Else            
    Select @VNFA_CAMB_0001 =  @VNFA_VNTA_REFE            
  End            
               
  Exec SP_CONV_AJUS_Q01 @ISCO_EMPR, @VSCO_MONE_CNTA, @INNU_CNTB_EMPR, @ISST_CNTA_NATU,             
       @VNFA_CAMB_0001, @VNTO_SALD_ORIG, @INNU_ANNO, @INNU_MESE, @VNTO_SAOR_0001 Output            
               
  Select @VNTO_SALD_ORIG = @VNTO_SAOR_0001            
            
  Select @VNNU_REGI = 0            
  Select @VNTO_AJUS = ROUND(@VNTO_SALD_ORIG,2) - ROUND(@VNTO_SALD_SOLE,2)            
            
  If @VNTO_AJUS != 0.00            
   begin             
    If( @VNTO_SALD_ORIG > 0.00 ) and ( @VNTO_SALD_SOLE > 0.00 )            
     begin               
      Select @VNTO_AJUS = ROUND(@VNTO_SALD_SOLE,2) - ROUND(@VNTO_SALD_ORIG,2)            
      If @VNTO_AJUS > 0.00            
        begin              
             /*Comentario : Insercion del Asiento de Ajuste */            
             INSERT INTO #TXMVTO_CNTB_EPAE_0002 (CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                    NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                    CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                    IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                    FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV)  
             VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
             @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @VSCO_CNTA_PERD,            
             @VSTI_AUXI_DCPE, @VSCO_AUXI_DCPE, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB,            
             1.000000, 'CAR', 0.00, @VNTO_AJUS, 'AJUST x DIF.CAMBIO', 'APR', ' ','N', 'N',1.000000, 'S',   
             @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S',@VSCO_ORDE_DCPE)  
      If @@ERROR != 0            
        begin             
          rollback tran            
          return            
        end            
      
      Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
      /*Comentario : Insercion del Asiento de Ajuste   */            
      INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
             NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
             CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
             IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
             FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)            
      VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND, @INNU_ANNO,            
      @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @ISCO_CNTA_EMPR, NULL,             
      NULL, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB, 1.000000, 'ABO', 0.00,             
      @VNTO_AJUS, 'AJUST x DIF.CAMBIO', 'APR', ' ','N', 'N', 1.000000, 'S',   
      @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')  
      If @@ERROR != 0            
       begin             
        rollback tran            
        return  
       end            
  
       Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
      end /* If @VNTO_AJUS > 0 */            
      
     If @VNTO_AJUS < 0.00            
      begin             
       /*Comentario : Insercion del Asiento de Ajuste   */            
       INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,    
              NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
              CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
              IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
              FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)  
       VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR,@ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
               @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @ISCO_CNTA_EMPR,            
               NULL, NULL, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB, 1.000000, 'CAR', 0.00,            
               abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', ' ','N', 'N', 1.000000, 'S',   
               @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')            
       If @@ERROR != 0            
         begin             
          rollback tran             
          return            
         end            
        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
         /*Comentario : Insercion del Asiento de Ajuste   */            
        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
               NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
               CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
               IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
               FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV)            
         VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                 @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @VSCO_CNTA_GANA,            
                 @VSTI_AUXI_DCGA, @VSCO_AUXI_DCGA, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB,            
                 1.000000, 'ABO', 0.00, abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', ' ','N',            
                 'N', 1.000000, 'S', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S',@VSCO_ORDE_DCGA)            
         If @@ERROR != 0            
           begin             
            rollback tran             
            return            
           end            
           Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
          end /* If @VNTO_AJUS < 0 */            
         end  /* If( @VNTO_SALD_ORIG > 0 ) and ( @VNTO_SALD_SOLE > 0 ) */            
                If( @VNTO_SALD_ORIG > 0.00 ) and (@VNTO_SALD_SOLE < 0.00 )            
                  begin            
                    Select @VNTO_AJUS = abs(ROUND(@VNTO_SALD_SOLE,2)) + ROUND(@VNTO_SALD_ORIG,2)            
            
                    If @VNTO_AJUS  > 0.00            
                      begin            
                        /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
               CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)            
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @ISCO_CNTA_EMPR,            
                        NULL, NULL, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB, 1.000000, 'CAR', 0.00,            
                        @VNTO_AJUS, 'AJUST x DIF.CAMBIO', 'APR', ' ','N', 'N', 1.000000, 'S',   
   			@ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')            
                        If @@ERROR != 0                 
                          begin             
                            rollback tran             
                          return            
                          end            
                        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
                        /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                 	CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV)            
                VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @VSCO_CNTA_GANA,            
                        @VSTI_AUXI_DCGA, @VSCO_AUXI_DCGA, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB,            
                        1.000000, 'ABO', 0.00, @VNTO_AJUS, 'AJUST x DIF.CAMBIO', 'APR', ' ','N', 'N', 
                        1.000000, 'S', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S',@VSCO_ORDE_DCGA)            
                        If @@ERROR != 0           
                          begin             
                            rollback tran             
                            return            
                          end            
                        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
                      end /* If @VNTO_AJUS > 0 */            
            
                    If @VNTO_AJUS < 0.00            
                      begin            
                        /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV)            
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @VSCO_CNTA_PERD,            
                        @VSTI_AUXI_DCPE, @VSCO_AUXI_DCPE, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB,            
                        1.000000, 'CAR', 0.00, abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', ' ','N',            
                        'N', 1.000000, 'S', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S',@VSCO_ORDE_DCPE)            
                        If @@ERROR != 0                 
                          begin             
                            rollback tran             
                            return            
                          end            
                        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
                        /*Comentario : Insercion del Asiento de Ajuste   */            
   			INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)            
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @ISCO_CNTA_EMPR,            
                        NULL, NULL, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB, 1.000000, 'ABO', 0.00,            
                        abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', '  ','N', 'N', 1.000000, 'S',   
   			@ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')            
                        If @@ERROR != 0            
                          begin             
                            rollback tran        
                            return            
                          end            
                        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
                      end /* If @VNTO_AJUS < 0 */            
                    end  /*If( @VNTO_SALD_ORIG > 0 ) and ( @VNTO_SALD_SOLE < 0 )  */            
               
             If( @VNTO_SALD_ORIG < 0.00 ) and ( @VNTO_SALD_SOLE > 0.00 )           
                  begin            
                    Select @VNTO_AJUS =  (0.00 - ROUND(@VNTO_SALD_SOLE,2)) + ROUND(@VNTO_SALD_ORIG,2)            
            
                   If @VNTO_AJUS > 0.00            
                      begin            
                        /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)           
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @ISCO_CNTA_EMPR,            
                        NULL, NULL, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB, 1.000000, 'CAR', 0.00,            
                        @VNTO_AJUS, 'AJUST x DIF.CAMBIO', 'APR', '  ','N', 'N', 1.000000, 'S',   
   			@ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')            
                        If @@ERROR != 0                 
                          begin             
                            rollback tran             
        return            
                          end            
                        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
               
                        /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
              IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV)            
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @VSCO_CNTA_GANA,            
                        @VSTI_AUXI_DCGA, @VSCO_AUXI_DCGA, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB,            
                        1.000000, 'ABO', 0.00, @VNTO_AJUS, 'AJUST x DIF.CAMBIO', 'APR', '  ','N', 'N',            
                        1.000000, 'S', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S',@VSCO_ORDE_DCGA)            
                        If @@ERROR!= 0                 
                          begin             
                            rollback tran             
                            return            
                          end            
                        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
                      end /* If @VNTO_AJUS > 0 */            
            
                    If @VNTO_AJUS < 0.00            
begin            
                        /*Comentario : Insercion del Asiento de Ajuste*/             
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV)            
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @VSCO_CNTA_PERD,            
                        @VSTI_AUXI_DCPE, @VSCO_AUXI_DCPE, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB,            
                	1.000000, 'CAR', 0.00, abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', '  ','N',            
                        'N', 1.000000, 'S', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S',@VSCO_ORDE_DCPE)            
                        If  @@ERROR != 0              
                          begin             
                            rollback tran             
                            return            
                          end            
                        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
            
                    /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,  
                    	NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
 IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)            
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @ISCO_CNTA_EMPR,            
                        NULL, NULL, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB, 1.000000, 'ABO', 0.00,            
                        abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', '  ','N', 'N', 1.000000, 'S',   
   			@ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')            
   			If @@ERROR != 0                 
                            begin             
                            rollback tran             
                            return            
                     end            
                        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
                      end /* If @VNTO_AJUS < 0      */            
                  end /*If( @VNTO_SALD_ORIG < 0 ) and ( @VNTO_SALD_SOLE > 0 )  */            
            
                If( @VNTO_SALD_ORIG < 0.00 ) and ( @VNTO_SALD_SOLE < 0.00 )            
                  begin            
                    Select @VNTO_AJUS =  ROUND(@VNTO_SALD_SOLE,2) - ROUND(@VNTO_SALD_ORIG,2)            
            
                    If @VNTO_AJUS > 0.00            
                      begin            
                        /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
   CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV)            
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @VSCO_CNTA_PERD,            
                        @VSTI_AUXI_DCPE, @VSCO_AUXI_DCPE, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB,            
                        1.000000, 'CAR', 0.00, abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', '  ','N',            
                        'N', 1.000000, 'S', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S',@VSCO_ORDE_DCPE)            
                        If @@ERROR != 0                 
                          begin            
                            rollback tran                 
                            return            
                          end            
                        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
            
                        /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,        
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)            
                        VALUES ( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
          @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @ISCO_CNTA_EMPR,            
                        NULL, NULL, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB, 1.000000, 'ABO', 0.00,            
                        abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', '  ','N', 'N', 1.000000, 'S',   
   			@ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')            
                        If @@ERROR != 0                 
                          begin             
                            rollback tran             
                            return            
                      end            
                         Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
                        end /* If @VNTO_AJUS> 0 */            
            
                    If @VNTO_AJUS  < 0.00            
                      begin            
         /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)            
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @ISCO_CNTA_EMPR,            
                        NULL, NULL, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB, 1.000000, 'CAR', 0.00, 
                        abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', '  ','N', 'N', 1.000000, 'S',   
   			@ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')            
                        If @@ERROR != 0                 
                          begin             
                            rollback tran             
                            return            
                          end            
             Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
            
                        /*Comentario : Insercion del Asiento de Ajuste */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV)            
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_PEND,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND, @VNNU_SECU_PEND, @VDFE_VOUC, @VSCO_CNTA_GANA,            
                        @VSTI_AUXI_DCGA, @VSCO_AUXI_DCGA, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB,            
                        1.000000, 'ABO', 0.00, abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', '  ','N',            
         'N', 1.000000, 'S', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S',@VSCO_ORDE_DCGA)            
                       If @@ERROR != 0                 
                          begin             
                            rollback tran             
                            return            
                          end            
                        Select @VNNU_SECU_PEND = @VNNU_SECU_PEND + 1            
                      end /* If @VNTO_AJUS < 0      */            
                  end  /*If( @VNTO_SALD_ORIG < 0 ) and ( @VNTO_SALD_SOLE > 0 )  */                  
            
                If( @VNTO_SALD_ORIG = 0.00 ) and ( @VNTO_SALD_SOLE > 0.00 )            
                  begin            
              Select @VNTO_AJUS =  ROUND(@VNTO_SALD_SOLE,2)            
                    If @VNTO_AJUS >  0.00            
                      begin            
                        /*Comentario : Insercion del Asiento de Ajuste  */            
            INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR,CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV)    
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_CNTB,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO, @VNNU_SECU, @VDFE_VOUC, @VSCO_CNTA_PERD,            
                        @VSTI_AUXI_DCPE, @VSCO_AUXI_DCPE, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB,            
                        1.000000, 'CAR', 0.00, @VNTO_AJUS, 'AJUST x DIF.CAMBIO', 'APR', '  ','N', 'N',            
                  	1.000000, 'S', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S',@VSCO_ORDE_DCPE)            
                        If @@ERROR != 0                 
                           begin             
                            rollback tran             
                        return            
                 end            
                        Select @VNNU_SECU = @VNNU_SECU + 1            
            
                        /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)            
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_CNTB,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO, @VNNU_SECU, @VDFE_VOUC, @ISCO_CNTA_EMPR,            
                        NULL, NULL, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB, 1.000000, 'ABO', 0.00,            
                        @VNTO_AJUS, 'AJUST x DIF.CAMBIO', 'APR', '  ','N', 'N', 1.000000, 'S',   
   			@ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')            
                        If @@ERROR != 0                 
                          begin             
                            rollback tran             
                            return            
                          end            
                        Select @VNNU_SECU = @VNNU_SECU + 1            
                      end        
                  end /*If( @VNTO_SALD_ORIG = 0 ) and ( @VNTO_SALD_SOLE > 0 )  */            
            
                If( @VNTO_SALD_ORIG = 0.00 ) and ( @VNTO_SALD_SOLE < 0.00 )            
                  begin            
                    Select @VNTO_AJUS =  ROUND(@VNTO_SALD_SOLE,2)            
            
                    If @VNTO_AJUS < 0.00            
                      begin            
                        /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR,            
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                        IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI)  
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_CNTB,            
                        @INNU_ANNO, @INNU_MESE, @ISNU_ASTO, @VNNU_SECU, @VDFE_VOUC, @ISCO_CNTA_EMPR,            
                        NULL, NULL, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB, 1.000000, 'CAR', 0.00,            
                        abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', '  ','N', 'N', 1.000000, 'S',   
   			@ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S')  
                        If @@ERROR != 0                 
        		begin             
                            rollback tran             
                            return            
                          end            
                        Select @VNNU_SECU = @VNNU_SECU + 1            
            
                        /*Comentario : Insercion del Asiento de Ajuste   */            
                        INSERT INTO #TXMVTO_CNTB_EPAE_0002 ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, 
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                      IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV)  
                        VALUES( @ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_CNTB,            
          @INNU_ANNO, @INNU_MESE, @ISNU_ASTO, @VNNU_SECU, @VDFE_VOUC, @VSCO_CNTA_GANA,            
                	@VSTI_AUXI_DCGA, @VSCO_AUXI_DCGA, NULL, NULL, NULL, 'PAC', @VSCO_MONE_CNTB,            
                        1.000000, 'ABO', 0.00, abs(@VNTO_AJUS), 'AJUST x DIF.CAMBIO', 'APR', '  ','N',            
                        'N', 1.000000, 'S', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, 'S',@VSCO_ORDE_DCGA)            
                        If @@ERROR != 0                 
                          begin             
                            rollback tran            
                            return            
                        end            
                        Select @VNNU_SECU = @VNNU_SECU + 1            
                      end             
           end /*If( @VNTO_SALD_ORIG < 0 ) and ( @VNTO_SALD_SOLE > 0 )  */            
          end /* If @VNTO_AJUS != 0 */


 INSERT INTO TXMVTO_CNTB ( CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, 
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                      IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV) 
Select  CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,            
                        NU_ANNO, NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, 
                        CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, TI_CAMB, CO_MONE, FA_CAMB, TI_OPER,            
                      IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, SI_MVTO_CNTB, NO_GIRA, ST_GEST, ST_REDO,            
                        FA_CAMB_DIAR, ST_DIFE_CAMB, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA, ST_MASI,CO_ORDE_SERV
From #TXMVTO_CNTB_EPAE_0002

If @@ERROR != 0                 
                          begin             
                            rollback tran            
                            return            
               end         
            
                         
         Exec SP_TXMVTO_CNTB_I35 @ISCO_EMPR, @ISCO_USUA , @IDFE_USUA, @INNU_CNTB_EMPR,@ISCO_UNID_CNTB,            
         @ISCO_OPRC_CNTB,@INNU_ANNO,@INNU_MESE,@ISNU_ASTO            
          
         If @ISCO_OPRC_CNTB != @ISCO_OPRC_PEND          
          Begin             
           Exec SP_TXMVTO_CNTB_I35 @ISCO_EMPR, @ISCO_USUA , @IDFE_USUA, @INNU_CNTB_EMPR,@ISCO_UNID_CNTB,            
           @ISCO_OPRC_PEND, @INNU_ANNO, @INNU_MESE, @ISNU_ASTO_PEND            
          End           
        /*
         Select @VNNU_SECU = MAX(NU_SECU)            
         From TXMVTO_CNTB            
         Where CO_EMPR = @ISCO_EMPR            
         And NU_CNTB_EMPR = @INNU_CNTB_EMPR            
         And CO_UNID_CNTB = @ISCO_UNID_CNTB              
         And CO_OPRC_CNTB = @ISCO_OPRC_CNTB            
         And NU_ANNO      = @INNU_ANNO            
         And NU_MESE      = @INNU_MESE            
         And NU_ASTO      = @ISNU_ASTO       */     
Select @VNNU_SECU = MAX(NU_SECU) 
From #TXMVTO_CNTB_EPAE_0002
Where CO_OPRC_CNTB = @ISCO_OPRC_CNTB            
        
         if @VNNU_SECU > 1            
          Begin            
           Update TCFECH_PROC            
           Set NU_ULTI_ASTO = convert(Int,@ISNU_ASTO),    
              CO_USUA_MODI =  @ISCO_USUA,    
              FE_USUA_MODI  = @IDFE_USUA    
           Where  CO_EMPR = @ISCO_EMPR            
             and NU_CNTB_EMPR = @INNU_CNTB_EMPR            
             and CO_UNID_CNTB = @ISCO_UNID_CNTB            
             and CO_OPRC_CNTB = @ISCO_OPRC_CNTB            
             and NU_ANNO = @INNU_ANNO            
             and NU_MESE = @INNU_MESE        
            and NU_ULTI_ASTO < convert(Int,@ISNU_ASTO)        
            
           If @@ERROR != 0                 
             begin            
              rollback tran             
              return            
             end            
           end            
          
         If @ISCO_OPRC_CNTB != @ISCO_OPRC_PEND          
         Begin --(B)          
            /*
         Select @VNNU_SECU_PEND = MAX(NU_SECU)            
         From TXMVTO_CNTB            
         Where CO_EMPR = @ISCO_EMPR            
         And NU_CNTB_EMPR = @INNU_CNTB_EMPR            
         And CO_UNID_CNTB = @ISCO_UNID_CNTB              
         And CO_OPRC_CNTB = @ISCO_OPRC_PEND            
         And NU_ANNO      = @INNU_ANNO            
         And NU_MESE      = @INNU_MESE            
        And NU_ASTO      = @ISNU_ASTO_PEND  */          

Select @VNNU_SECU_PEND = MAX(NU_SECU) 
From #TXMVTO_CNTB_EPAE_0002
Where CO_OPRC_CNTB = @ISCO_OPRC_PEND            
        
         If @VNNU_SECU_PEND > 1            
   Begin            
              Update TCFECH_PROC           
              Set NU_ULTI_ASTO = convert(Int,@ISNU_ASTO_PEND),    
               CO_USUA_MODI =  @ISCO_USUA,    
               FE_USUA_MODI  = @IDFE_USUA    
              Where  CO_EMPR = @ISCO_EMPR            
              and NU_CNTB_EMPR = @INNU_CNTB_EMPR            
              and CO_UNID_CNTB = @ISCO_UNID_CNTB            
              and CO_OPRC_CNTB = @ISCO_OPRC_PEND            
              and NU_ANNO = @INNU_ANNO            
              and NU_MESE = @INNU_MESE            
              and NU_ULTI_ASTO < convert(Int,@ISNU_ASTO_PEND)        
        
              If @@ERROR != 0                 
                begin            
                  rollback tran             
                  return            
                end            
              end            
         End -- (B)            
            
---- Elimina tablas temporales            
--Drop Table #TWMVTO_CNT1            
---Drop Table #TWMVTO_CNT2            
            
commit transaction            
return            
/*----------------------------------- Fin ---------------------------------------*/







GO
